

@@open_menu

                   HPSORT Configuration Utility
               Copyright 1991, All rights reserved

                           CNT Software
                        1615 Highland Ave.
                      Janesville, Wi  53545

               BBS support on "JADE" (608) 752-7840

HPSORT represents many hours of work.  Please help fight the high
cost of computer software by supporting the "Shareware" concept.
If you find HPSORT of value, please register.  This will help
fund enhancements to this program.   Refer to the order form in
file HPSORT.DOC to register.
 
     No other remuneration may be accepted for HPSORT except
     by CNT Software.

          Trademarks mentioned in this program are the
          properties of their respective companies.
@@sort_and_compress
This is HPSORT's normal mode of operation.  In this mode, HPSORT
will sort the input file to reduce pen motion, then compress the
output file.

Use this mode if your CAD program does not do Pen Motion
Optimization.
@@compress_only
This is a subset of HPSORT's normal mode of operation.  In this
mode, HPSORT does not change the order of the vectors in the
drawing.  But rather just outputs the file in a compressed
format.  This will typically reduce file size to 60% of normal.

Use this mode if you CAD program does do Pen Motion Optimization
and you need to reduce the size of your file.  An example would
be using the Compress option to reduce the size of your file
before modeming it to a service bureau for plotting.
@@nearzeromovedelta
This parameter drops unnoticeable short moves.  It controls the
pen motion from the end of one vector to the start of the next. 
The parameter states: 

     When the end of the vector just drawn is closer than
     this distance from the starting point of the next
     vector, the pen will not move to the starting point of
     the next vector.

As an example consider the following sequence:

a.   Move with pen up to position #1.
b.   Lower the pen and draw a line from point #1 to #2.
c.   Raise the pen up and move to position #3.
d.   Lower the pen and draw a line from point #3 to #4.

The two lines from #1 to #2 and from #3 to #4 would be drawn as
shown in figure to the right.

This is how they will appear when the distance from Points #2 to
#3 is larger than this parameter.

When the distance between points







                                   Example Plot of Two Lines
                                   Close Together#1--------------------#2
                                           

                                                                
                                                      #4---#3#2 and #3 is less than or equal
to this parameter, then above
example would generate the
following sequence:

a.   Move with pen up to position
     #1.
b.   Lower the pen and draw a
     line from point #1 to
     #(2&3).
d.   Lower the pen and draw a line from point #(2&3) to #4.

Note in figure to right that
                                #1-------------------+#(2&3)
                                                    /
                                                   /
                                                  #4a single point replaces
points #2 and #3.  This ef-
fect noticed on parallel
lines drawn close together,
but still separate.
 
Typical value is 1/10
smallest pen size used.  For
0.35mm pen would be 0.035mm.  Range is 0 to 1.5mm.
@@pen_width_move_delta
This parameter removes pen up/down motions that are so short that
they are unnoticeable.  Plotting speed is increased because the
pen is not lifted as much.  HPSORT does this by drawing a line
between the two points that should not be there.   When this
parameter is set correctly, the line is unnoticeable.   This
parameter says: 

     When the end of the vector just drawn is closer than
     this distance from the starting point of the next
     vector, a line  connects the points without the pen
     lifting from the paper.

As an example consider the following sequence:

a.   Move with pen up to position #1.
b.   Lower the pen and draw a line from point #1 to #2.
c.   Raise the pen up and move to position #3.
d.   Lower the pen and draw a line from point #3 to #4.

The two lines from #1 to #2 and







                                   Example Plot of Two Lines
                                   Close Together#1--------------------#2
                                           

                                                                
                                                      #4---#3from #3 to #4 would be drawn as
shown in figure to the right.

This is how they will appear when
the distance from Points #2 to #3
is larger than this parameter.

When the distance between points
#2 and #3 is less than or equal
to this parameter, then above
example would generate the following sequence:

a.   Move with pen up to position #1.
b.   Lower the pen and draw a line from point #1 to #2.
c.   Lower the pen and draw a line from point #2 to #3.
d.   Lower the pen and draw a line from point #3 to #4.

The figure to right is how the above example would be drawn. 
Note the line appearing between points #2 and #3 that was not in
the original sequence.

Typical values are 1/2 to 1/4
                                     #1-------------------+#2
                                                          | 
                                                          |
                                                          |     
                                                     #4---+#3smallest pen size used.    Range
is 0 to 1.5mm.
@@max_rel_move
This defines the maximum move
size in relative mode in plotter
units.  Some plotters ignore
large relative moves, for example
the HP 7450 DraftPro.  For moves
larger than this parameter,  HPSORT uses absolute moves instead
of relative moves.  For most plotters, 16,000 appears to be a
good value. 
@@vector_resync_count
HPSORT uses primarily "relative" positioning.  This is one of the
major techniques used to reduce file size.  In this mode, each
pen move is the delta x, delta y from the end of the last pen
move.  When positioning in relative mode, this parameter controls
how often an absolute positioning command is issued to correct
for any positioning errors in the plotter.

          What is "absolute" and "relative" positioning?

Absolute positioning is where each command tells the plotter
exactly where to position the pen on the paper independent of any
other move.  Therefore, the pen is always in the position where
the CAD program expects it to be.  An example would be -

     Move Pen Up to 1000,1000
     Place Pen Down
     Move to 1400,1000
     Move to 1400,1400
     Move to 1000,1400
     Move to 1000,1000

The numbers are in plotter units and draw a square 1 cm on a
side.


 Using the same example as above, HPSORT would output 

     Move Pen Up to 1000,1000 in absolute mode
     Place Pen Down
     Shift to relative mode 
     Move right 400 units
     Move up 400 units
     Move left 400 units
     Move down 400 units

Notice that in the relative example, there is only one command to
tell the plotter exactly where to move.  The rest of the commands
are move left, right, up or down commands.  They assume that the
plotter pen is where it is suppose to be.  Due to cumulative
errors in both calculations and mechanical positioning in the
plotter, every once in a while, a absolute positioning command
must be done. 

The larger this parameter, the more the file size is reduced. 
But the larger the chance of plotting errors.  Legal values range
from 2 to 999.  Values of 5 to 20 are effective.
@@short_near_vector_lengh
Before sending a vector to the output device, HPSORT checks to
see if a "short" vector touches it.  If yes, then HPSORT draws
the "short" vector first.  Range is 0 to 99.99mm, with 5 to 10mm
being a good value.  If this value is too large, it is counter
productive towards sorting.  

Consider the lines in the
                                  #1
                                    \
                                     \
                                      \
                                    #2 +--------------------#3figure to the right. During
the sorting process,  HPSORT
decides the next line to draw
is from points #2 to #3.

This parameter instructs
HPSORT to check to see if a
"short" line is connected to
the line about to be drawn.  In this case, it is the line from
points #1 to #2.  If the length of the line from points #1 to #2
is less than or equal to the value of this parameter, then HPSORT
will output the following sequence:

a.   Move with the pen up to position #1.
b.   Lower the pen and draw a line from point #1 to #2.
c.   Lower the pen and draw a line from point #2 to #3.


@@check_circle_radius
Circles are a special case when compared to all of the other
types of line drawing commands.  When at a start or end of a
line, HPSORT checks to see if a circle is either touching or
centered on the current position.  If yes, then send the circle
to the output device.  

This parameter controls how close the circle be in order to be
checked.  If it is too small, HPSORT misses the circle during the
normal processing and is outputted during the cleanup phase.  If
it is too large, then it will slow down normal vector processing
by needlessly checking too many circles.  A good value is
dependant upon the average circle size.  Range of legal values is
0.01 to 99.99mm.  Values of 5 to 10mm are effective.

If HPSORT draws too many circles during the cleanup phase of the
processing, try increasing this value.
@@lt_divider
When not using ORCAD, set value to 1.00.

The method ORCAD uses to draw dashed lines is not compatible with
the internal structure HPSORT uses to represent drawings inter-
nally.  See "Ignore IP Command" (next parameter) for details. 
This parameter is a compromise that scales the "dash" in the
dashed line to fit the paper.  Values are dependant upon the
normal drawing size:

                        Paper Size   Value
                        ----------   -----
                         A to B       1.5
                         B to C       2.5
                         C to D       3.5
                         D to E       4.5
                         B to D       3.0
@@ignore_IP_cmd
When not using ORCAD, set value to NO.  

The IP is the "Input P1 and P2" command.  This permits the
computer to redefine the meaning of P1 and P2 (refer to the
plotter manual for definition of P1 and P2).

The method ORCAD uses to output dashed lines is different other
packages.  The HP plotter language defines dashed lines is as a
percentage of the distance from the opposite corners of the
paper.  ORCAD, "redefines" the corners of the paper, using the
"IP" command to an "A" size drawing, draws the dashed line and
then redefines the paper size back to normal.

Normally, when HPSORT finds an IP command, it outputs the con-
tents of the label and vector buffers, then outputs the IP
command.  ORCAD uses this command for dashed lines. This stops
the pen motion optimization process whenever dashed lines are
encounter.  When using ORCAD, set value to YES.

@@swap_poly_to_disc
This parameter enables the rest of the options on this screen. 
If YES, the swapping is enabled.

Electrical schematics usually do not benefit significantly from
this option.  Mechanical drawings, particular drawings by
AUTOCAD, and PCB Layouts benefit significantly by setting this
parameter to YES.
@@collapse_rectangles
Set to NO.  Current version does not support this option.
@@polygon_swap_drive
Letter of the drive to use for buffering to disc.  HPSORT uses
the current drive and directory if this field is blank.  If more
than one hard drive is available, use the fastest one available.

If a RAAM drive is present, size of 400kb is usually enough.  If
running from a network, using the local hard drive will give
better performance rather that a drive on the file server.
@@print_poly_swap_stats
This parameter turns on the printing of the swapping statistics. 
These statistics are useful in adjusting the other parameters
towards an optimal values.
@@polygon_swap_threshold
This sets the minimum number of connected line segments before
swapping them to the disc.  Swapping all connected segments does
not significantly give a better sort, but can have a significant
increase in plotting time.   A good value is one that is slightly
less than the average number of connected segments.  For a
starting value, 5 works well.  Range of values is 1 to 999.
@@no_lables_flag
This flag controls how HPSORT supports the Label command.  There
are two methods of printing text on a drawing.  Programs such as
AUTOCAD, output all text as a series of line segments.  This
permits the program to support a variety of fonts.  Some programs
such as ORCAD or SCHEMA, use only those fonts built into the
plotter.  Some programs such as Point Line CADD, use both
methods.  

Setting this parameter to NO effectively increases the amount of
memory available for sorting lines.
@@ignore_single_space_lables
If the CADD program is try to plot a single space character using
the built in plotter fonts, ignore the command.  This parameter
normally should be to YES.  
@@pos_lables_rel
This parameter controls positioning of lables using relative
instead of absolute positioning.  This results in smaller output
files.  If the "Resync Count" parameter (next item in list)
describe what this does.
@@label_resync_count
This parameter controls positioning of labels using relative
instead of absolute positioning.

          What is "absolute" and "relative" positioning?

Absolute positioning is where each command tells the plotter
exactly where to position the pen on the paper independent of any
other move.  Therefore, the pen is always in the position where
the CAD program expects it to be.  An example would be -

     Move Pen Up to 1000,1000
     Place Pen Down
     Move to 1400,1000
     Move to 1400,1400
     Move to 1000,1400
     Move to 1000,1000

The numbers are in plotter units and draw a square 1 cm on a
side.


 Using the same example as above, HPSORT would output 

     Move Pen Up to 1000,1000 in absolute mode
     Place Pen Down
     Shift to relative mode 
     Move right 400 units
     Move up 400 units
     Move left 400 units
     Move down 400 units

Notice that in the relative example, there is only one command to
tell the plotter exactly where to move.  The rest of the commands
are move left, right, up or down commands.  They assume that the
plotter pen is where it is suppose to be.  Due to cumulative
errors in both calculations and mechanical positioning in the
plotter, every once in a while, a absolute positioning command
must be done. 

The larger this parameter, the more the file size is reduced. 
But the larger the chance of plotting errors.  Legal values range
from 2 to 999.  Values of 5 to 20 are effective.
@@short_near_vector_length
Before sending a vector to the output device, HPSORT checks to
see if a "short" vector touches it.  If yes, then HPSORT draws
the "short" vector first.  Range is 0 to 99.99mm, with 5 to 10mm
being a good value.  If this value is too large, it is counter
productive towards sorting.  

Consider the lines in the
                                  #1
                                    \
                                     \
                                      \
                                    #2 +--------------------#3figure to the right. During
the sorting process,  HPSORT
decides the next line to draw
is from points #2 to #3.

This parameter instructs
HPSORT to check to see if a
"short" line is connected to
the line about to be drawn.  In this case, it is the line from
points #1 to #2.  If the length of the line from points #1 to #2
is less than or equal to the value of this parameter, then HPSORT
will output the following sequence:

a.   Move with the pen up to position #1.
b.   Lower the pen and draw a line from point #1 to #2.
c.   Lower the pen and draw a line from point #2 to #3.

@@label_buffer_space
Number of kilobytes of memory to reserve for the to store the
actual text of the lables.  Range of values is 3 to 64.  Use
label statistics to determine a good value.  If the maximum value
printed on the stat's is "close" to the current value, try
increasing this value by 10%.
@@max_number_lables
This is the maximum number of lables to reserve space for before
outputing the buffer.  Use label statistics to determine a good

value.  If the maximum value printed on the stat's is "close" to
the current value, try increasing this value by 10%.
@@print_label_stats
This parameter turns on the printing of the lables statistics. 
These statistics are useful in adjusting the other parameters
towards an optimal values.
@@default_font_99
This parameter when YES will change the appearance of some or all
the text on your drawing for those CAD programs that use the
built in plotter fonts.  Normally font 0 is used.  While this
font is okay, the 5, 6 & S and 8 & B characters are difficult to
tell apart.  HPSORT can substitute plotter font 99 which is
designed to make telling these characters apart easier.  
@@buffered_serial_io
HPSORT contains a simple serial port spooling program when the
output device is either COM1, COM2, COM3 or COM4.  This exists so 
if you do not already have a spooling program on your system,
HPSORT can send data to the plotter while it is processing.  

There are two restrictions on this function:

1 -  The plotter must use the hardware same style of handshaking
     as used by MS-DOS.  If you can copy your file to the plotter
     using the MS-DOS "COPY" command, there will be no problems
     with the built in spooler. 

2 -  HPSORT will not exit until the plotter has received all of
     the data.
@@buffered_serial_io_buf
When enabling the serial port buffering, this is the number of
kilobytes of memory to reserve.   Value can be from 3kb to 32kb.
@@set_serial_params
This parameter has meaning only when the output file is either
COM1, COM2, COM3 or COM4.  When this parameter is  NO, HPSORT
does not change the parameters from when the program begins.  If
YES, then the parameters are reset from the parameters on the
rest of this screen.
@@serial_io_baud
Baud Rate to set serial port to.  Must be  the same value as the
plotter.  Legal values are only those values displayed.
@@serial_io_parity
Can be only one of the three values listed in the options menu. 
Must be  the same value as the plotter.
@@serial_io_stop_bits
Legal values are 1 or 2.  Must be the same value as the plotter.
Normally, will be 1 unless sending at 110 baud.
@@serial_data_size
Number of bits in each data byte sent.  Must be the same as the
plotter.  Normally, will be 8, but can be 7.
@@default_output_file
Default name of file to send output.  When HPSORT runs, this is
the file name used if no output file is present.  The default
value is HPSORT.OUT.  

This field can contain a device name.  For example if the value
is COM1:, all output would by default goes to serial port #1.

NOTE:     If the parameter to "Rename Output to Input" is YES,
          then this parameter has no meaning.
@@rename_output_to_input

If set to YES, HPSORT sends it's output  to a temporary file. 
When HPSORT completes, the input file is renamed with a ".BAK"
extension and the temporary output file will be renamed to the
input file name.
@@add_output_to_zip
If you routinely use service bureaus to plot your drawings, these
can be compressed by a programs such as ARC, PKXARC, LHARC, etc. 
By setting this parameter to YES, HPSORT will automatically send
the output file to the compression program.  The rest of the
parameters, define how to pre-form this operation.

WARNINGS: You should make sure that the output file name is
          always unique.  If not, then your compressed file will
          contain only the last file processed.  
@@zip_program_name
Name of you compression program to use.  This program must be the
current directory or path.
@@zip_program_commands
List of any commands required by the compression program to
process your file.
@@zip_file
Name of compression file to use.  At present you cannot select
from the command line, the name of the compressed file.
@
  

  
  

  
  

  
  
  

  
  

  
  

  
  
  

  
  

  
  

  
  

  
  
